In the field of data communication for wireless networks, TCP is used as a connection oriented protocol that fragments and reassembles a byte stream into discrete messages or packets. Furthermore, IP-protocols are used in the next lower layer for delivering IP-packets, e.g. by packet routing.
The TCP service is obtained by having both a host (hereinafter also called SERVER) and a client (hereinafter also called mobile station or MS) create end points called sockets. Each socket has a number (address) comprising an IP address of the host and a 16-bit number local to that host, called a port.
To obtain TCP service a connection must be established between a socket on the SERVER, and a socket on the MS. A socket may be used for multiple connections at the same time. Every byte on a TCP connection has its own 32-bit sequence number used both for acknowledgements and for a window mechanism, which use a separate 32-bit header field.
The sending and receiving TCP entities exchange data in the form of segments. A segment consists of a fixed 20-byte header (plus an optional part) followed by zero or more data bytes. The TCP software decides how the segments should be. It can accumulate data from several writes into one segment or split data from one write over multiple segments. Two limits restrict the segment size. Firstly, each segment, including the TCP header, must fit in the 65,535 byte IP payload. Secondly, each network has a maximum transfer unit (MTU), and each segment must fit in the MTU.
The MTU, is the largest physical packet size, measured in bytes (B), that a network can transmit. Any messages larger than the MTU are divided into smaller packets before being sent.
Every network has a different MTU, which is set by the network administrator. For example, on Windows 95, a user can also set the MTU of his machine. This defines the maximum size of the packets sent from that computer onto the network. Ideally, it is desired that the MTU is the same as the smallest MTU of all the networks between a certain machine and a message's final destination. In practice, the MTU is generally a few thousand bytes and thus defines the upper bound on segment size. If a segment passes through a sequence of networks without being fragmented and then hits a network whose MTU is smaller than the segment, the router at the boundary fragments the segment into two or more smaller segments, which slows down transmission speeds.
In the field of wireless communication there is a certain router in the interface (Gb or Iu) between a land line bound network and the wireless network, The wireless network may comprise MS:s in the form of mobile telephones for mobile telephone services, or mobile telephones or computers for data communication. The wireless network may be in the form of the so called 2 G or 2.5 G standard (the Gb interface) for the use of, for example, GSM or EDGE. The wireless network may also be in the form of the so called 3 G standard (the Iu interface) for the use of, for example, WCDMA. The router breaks down the data stream from the land line network into smaller segments according to the given standard. In the present GPRS standard the router is labelled SGSN, which is a node in a GPRS infrastructure that is responsible for the delivery of data packets from and to the mobile stations within its service area. Its tasks include packet routing and transfer, mobility management (attach/detach and location management), logical link management, and authentication and charging functions. The location register of the SGSN stores location information and user profiles of all GPRS users registered with this SGSN as of June 2001.
A segment that is too large for a network is broken up by the router into multiple segments. Each new segment gets its own IP header, so fragmentation by routers increases the total overhead because each additional segment adds 20 bytes of extra header information in the form of an IP header.
Each host is allowed to specify the maximum TCP payload it is willing to accept, but all Internet hosts are required to accept TCP segments of 536+20 bytes (536 bytes of TCP payload and 20 bytes TCP header+20 B of IP header ending up at an MTU of 576 B). During setup of the TCP connection, each side can announce its maximum segment size (MSS) and can also see the suggested MSS from the counterpart. According to the present TCP/IP standard, the minimum MTU that can be sent without risking fragmentation or MTU Discovery is 576 B in a correctly configured network.
A problem with prior art occurs when the SGSN is forced to fragment the IP segment(s) from the land line network into segments of lesser size in order to satisfy the demands from the wireless network. The lesser sized segments are not optimised by forehand, but serves only to fit the standard of the MS. As a consequence the last of the lesser sized segments may comprise only a small amount of information instead of a complete utilisation of the segment. By not utilising the complete segment for the transport of information, the overall performance of the system is not optimal.
Therefore, there is a need for an improved handling when setting up a connection between a host and a client using a connection oriented protocol in a system comprising a wireless network.